Python 运算符
本章我们学习关于Python所有的运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、成员运算符、身份运算符、身份运算符等。下面是对Python运算符做一个简单的概括
- 算术运算符:用于执行基本的算术操作,如加法、减法、乘法和除法等。例如:+,-,*,/,%(取模),//(整除),**(幂运算)。
- 赋值运算符:用于将值分配给变量。例如:=,+=,-=,*=,/=,%=,//=,**=。
- 比较运算符:用于比较两个值。例如:
==,!=,>,<,>=,<=
。 - 逻辑运算符:用于组合条件语句。例如:and,or,not。
- 位运算符:用于执行二进制位操作。例如:
&,|,^,~,<<,>>
。 - 成员运算符:用于测试序列中是否存在指定的值。例如:in,not in。
- 身份运算符:用于比较对象的内存地址。例如:is,is not。
- 运算符的优先级:是指它们被解释器计算的顺序。例如,乘法和除法的优先级高于加法和减法,可以使用括号来改变优先级。
Python算数运算符
本节将介绍Python的算数运算符,包括基本的加减乘除运算符,以及更高级的幂运算符、取余运算符和取整除运算符。
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法:两个对象相加 | 3 + 5 输出 8 |
- | 减法:得到负数或是一个数减去另一个 | 7 - 2 输出 5 |
* | 乘法:两个数相乘 | 2 * 4 输出 8 |
/ | 除法 | 7 / 2 输出 3.5 |
% | 取模运算 | 7 % 3 输出 1 |
** | 幂运算 | 2 ** 3 输出 8 |
// | 取整除运算 | 7 // 2 输出 3 |
- 基本的算数运算符
Python支持四种基本算数运算符,分别为加(+)、减(-)、乘(*)和除(/)。这些运算符可以用于整数、浮点数和复数等不同类型的数字。
语法
#x和y是要进行运算的数字
x + y # 加法
x - y # 减法
x * y # 乘法
x / y # 除法
实例
实例1:常用加减乘除计算
x = 10
y = 3
print(x + y) # 输出:13
print(x - y) # 输出:7
print(x * y) # 输出:30
print(x / y) # 输出:3.3333333333333335
实例2:用户输入数字相加
number1 = int(input('输入第一个数:'))
number2 = int(input('输入第二个数:'))
print('结果是:'number1 + number2)
输出结果:
输入第一个数:30
输入第二个数:10
结果是:40
实例3:字符串相加
s1='hello'
s2='world'
print(s1+s2)
输出结果:
helloworld
看到这里的结果就是hello world,也就是说加号,如果它的两侧是字符串,那么就是将这两个字符串相连。
实例4:乘法运算符的妙用
这个乘法运算符除了做乘法运算以外,还可以做重复符号,输出一个等号,然后我用一个*表示重复10次。利用好这个重复符号,我们还可以做很多有趣的事,比如说 打印一个三角形可以这样
print('='*20)
print(' '*2+'△'+' '*2)
print(' '+'△'*3+' ')
print('△'*5)
print('='*20)
输出结果:
====================
△
△△△
△△△△△
====================
实例5:除法运算符的注意事项
对于除法而言,只有一点需要我们注意, 也就是分母不能为0 。比如说我设置一个数a等于10,b=0,然后我让a除以b。看一下结果也就是说零不能作为除数
a=10
b=0
print(a/b)
- 幂运算符
Python幂运算符(**),用于计算一个数的n次幂。
语法:
x ** n # 计算x的n次幂
其中,x为底数,n为指数。下面是一个幂运算符的实例:
x = 2
n = 3
print(x ** n) # 输出:8
- 取余运算符
取余运算符(%),用于计算两个数相除后的余数。
语法:
x % y # 计算x除以y的余数
取余运算符的实例:
x = 10
y = 3
print(x % y) # 输出:1
- 取整除运算符
整除运算符(//),用于计算两个数相除后的商,结果将向下取整。
语法:
x // y # 计算x除以y的商,结果向下取整
取整除运算符的实例:
x = 10
y = 3
print(x // y) # 输出:3
作业
为了更好的学习Python算数运算符,给大家安排了5个作业
1.计算两个数的和、差、积和商。要求从键盘输入两个整数,输出运算结果。
2.编写一个程序,计算圆的周长和面积。要求从键盘输入圆的半径,输出结果(保留两位小数)。
3.将华氏温度转换为摄氏温度。要求从键盘输入华氏温度,输出摄氏温度(保留两位小数)。
4.计算长方形的周长和面积。要求从键盘输入长方形的长和宽,输出结果(保留两位小数)。
- 计算两个数的和、差、积和商。要求从键盘输入两个整数,输出运算结果。
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print("和:", a + b)
print("差:", a - b)
print("积:", a * b)
print("商:", a / b)
- 编写一个程序,计算圆的周长和面积。要求从键盘输入圆的半径,输出结果(保留两位小数)。
import math
r = float(input("请输入圆的半径:"))
C = 2 * math.pi * r
S = math.pi * r ** 2
print("周长:%.2f" % C)
print("面积:%.2f" % S)
- 编写一个程序,计算三角形的周长和面积。要求从键盘输入三角形的三个边长,输出结果(保留两位小数)。
import math
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
C = a + b + c
p = C / 2
S = math.sqrt(p * (p - a) * (p - b) * (p - c))
print("周长:%.2f" % C)
print("面积:%.2f" % S)
- 编写一个程序,将华氏温度转换为摄氏温度。要求从键盘输入华氏温度,输出摄氏温度(保留两位小数)。
f = float(input("请输入华氏温度:"))
c = (f - 32) * 5 / 9
print("摄氏温度:%.2f" % c)
- 编写一个程序,计算长方形的周长和面积。要求从键盘输入长方形 的长和宽,输出结果(保留两位小数)。
a = float(input("请输入长方形的长:"))
b = float(input("请输入长方形的宽:"))
C = 2 * (a + b)
S = a * b
print("周长:%.2f" % C)
print("面积:%.2f" % S)
Python赋值运算符
Python 赋值运算符是用于将值赋给变量的运算符,它是 Python 中最基本的运算符之一。在 Python 中,赋值符号为“=”,它将右边的值赋给左边的变量。Python 支持多个赋值,即可以同时给多个变量赋值。
运算符 | 描述 | 示例 |
---|---|---|
= | 赋值运算符,用于将右侧值赋给左侧变量 | x = 5 |
+= | 加法赋值运算符,将右侧值与左侧变量相加并将结果赋给左侧变量 | x += 3 等价于 x = x + 3 |
-= | 减法赋值运算符,将右侧值与左侧变量相减并将结果赋给左侧变量 | x -= 3 等价于 x = x - 3 |
*= | 乘法赋值运算符,将右侧值与左侧变量相乘并将结果赋给左侧变量 | x *= 3 等价于 x = x * 3 |
/= | 除法赋值运算符,将右侧值与左侧变量相除并将结果赋给左侧变量 | x /= 3 等价于 x = x / 3 |
%= | 取模赋值运算符,将左侧变量对右侧值取模并将结果赋给左侧变量 | x %= 3 等价于 x = x % 3 |
//= | 取整除赋值运算符,将左侧变量对右侧值取整除并将结果赋给左侧变量 | x //= 3 等价于 x = x // 3 |
**= | 幂赋值运算符,将左侧 变量的值与右侧值的幂相乘并将结果赋给左侧变量 | x **= 3 等价于 x = x ** 3 |
&= | 按位与赋值运算符,将左侧变量与右侧值进行按位与操作并将结果赋给左侧变量 | x &= 3 等价于 x = x & 3 |
|= | 按位或赋值运算符,将左侧变量与右侧值进行按位或操作并将结果赋给左侧变量 | x |= 3 等价于 x = x | 3 |
^= | 按位异或赋值运算符,将左侧变量与右侧值进行按位异或操作并将结果赋给左侧变量 | x ^= 3 等价于 x = x ^ 3 |
<<= | 左移赋值运算符,将左侧变量向左移动右侧值位并将结果赋给左侧变量 | x <<= 3 等价于 x = x << 3 |
>>= | 右移赋值运算符,将左侧变量向右移动右侧值位并将结果赋给左侧变量 | x >>= 3 等价于 x = x >> 3 |
Python 赋值运算符的语法如下:
变量 = 值
其中,“变量”是要赋值的变量名,“值”是要赋给变量的值。
Python 赋值运算符支持以下几种参数:
- 单个变量赋值
当只有一个变量需要赋值时,语法为:
x = 5 #将5赋给变量 x。
- 多个变量同时赋值
Python 支持多个变量同时赋值,语法为:
x, y, z = "da", "xiong", "notes" #值 "da" 赋给变量 x,将值 "xiong" 赋给变量 y,将值 "notes" 赋给变量 z。
- 多个变量赋同一个值
Python 支持多个变量同时赋同一个值,语法为:
x = y = z = "andy" #将值 "andy" 赋给变量 x、y 和 z。
- 交换变量值
Python 支持交换两个变量的值,语法为:
x, y = y, x #将变量 x 的值赋给变量 y,将变量 y 的值赋给变量 x,从而实现变量值的交换
- 复合赋值运算
Python 支持使用赋值运算符和其它运算符组合使用,实现增量赋值,语法为:
x += 5 # 相当于 x = x + 5
y -= 3 # 相当于 y = y - 3
z *= 2 # 相当于 z = z * 2
作业
作业一:将 10 赋值给变量 x,并输出 x 的值。
作业二:将变量 a 和 b 同时赋值为 5,输出 a 和 b 的值。
作业三:将变量 x 的值加上 5,再将结果赋给变量 x,输出 x 的值。
作业四:交换变量 x 和 y 的值,并输出交换后的结果。
作业五:将变量 x 的值乘以 3,再将结果减去 7,最后将结果赋给变量 x,输出 x 的值。
Python比较运算符
本节我们来介绍一下比较运算符,比较运算符也非常简单,我们在小学也就学过。就是比较两个值的大小、相等性等。看一下比较运算符都有哪些?两个等号表示等于,个感叹号加等号表示不等于,其他的就是大于号,小于号,大于等于,小于等于,我们在数学中使用的符号是一样的,如下表所示:
运算符 | 描述 | 实例 |
---|---|---|
== | 检查两个值是否相等,如果相等则返回True,否则返回False。 | (a == b) 返回 False |
!= | 检查两个值是否不相等,如果不相等则返回True,否则返回False。 | (a != b) 返回 True |
> | 检查左边的值是否大于右边的值,如果是则返回True,否则返回False。 | (a > b) 返回 False |
< | 检查左边的值是否小于右边的值,如果是则返回True,否则返回False。 | (a < b) 返回 True |
>= | 检查左边的值是否大于等于右边的值,如果是则返回True,否则返回False。 | (a >= b) 返回 False |
<= | 检查左边的值是否小于等于右边的值,如果是则返回True,否则返回False。 | (a <= b) 返回 True |
在程序中比较运算符,有一点需要注意,就是它返回的结果是一个布尔类型,前面我们已经介绍过布尔类型,他的状态比较简单,只有两种,就像灯泡的关和开,它们分别代表着False和True,注意这里的False和True首字母需要大写,而且他们是Python中的关键字,不能作为变量名使用 。
实例
1.比较运算符基础实例:
a = 5
b = 6
print("a == b:", a == b)
print("a != b:", a != b)
print("a > b:", a > b)
print("a < b:", a < b)
print("a >= b:", a >= b)
print("a <= b:", a <= b)
输出结果如下:
a == b: False
a != b: True
a > b: False
a < b: True
a >= b: False
a <= b: True
那么在什么情况下我们会经常使用到比较运算符呢?那就是流程控制语句 ,它包括条件控制语句和循环控制语句,具体内容我们会在后章节中详细介绍,在本节中我们为了更好的理解比较运算符,先来介绍一个if语句,if后面是一个条件,条件后面跟着一个冒号,冒号就是要满足这个条件时所要做的事。如果不满足这个条件呢,程序就会执行下面的else,else后面也是一个冒号,在else下面也需要空4个格,在编写代码的时候,你可以按4个空格键也可以使用,一个tab键,因为在Pycharm中,一个tab键,它默认为4个空格键。这就是if语句的基本语法,下图是它的语法格式 。
下面我们在代码中看一下,如何使用if语句结合比较运算符,来编写一些简单的程序。
实例2:判断考试是否及格的程序
我们来编写一个判断考试是否及格的程序,在通常情况下,如果你的分数大于或者等于60,那么恭喜你你就及格了,否则的话就是没及格
score =78
if score >= 60:
print('考试成绩及格')
else:
print('考试成绩不及格')
输出结果:
考试成绩及格
实例3:猜数字的游戏
我们编写一个叫做猜数字的游戏,假如说电脑中设置了一个值,叫做num,它的值是5 。让用户来输入一个数字,如果这个数字等于5 那么用户就答对了,否则的话用户就答错了
num = 5
number = int(input('请输入0-10之间的数字'))
if number == 5:
print('恭喜你猜中了')
else:
print('非常遗憾,猜错了')
输出结果:
请输入0-10之间的数字 5
恭喜你猜中了
作业
为了让大家更好掌握比较运算符,给大家安排了两个作业
作业一:输入一个整数,判断它是否为偶数。如果是偶数,则输出“该数为偶数”,否则输出“该数为奇数”
作业二:编写一个程序,输入两个整数,判断它们的和是否大于10。如果是,则输出“两个整数的和大于10”,否则输出“两个整数的和小于等于10”
获得参考答案,请联系大熊课堂 Python零基础入门动画课。
Python逻辑运算符
本节课我们要介绍的内容是Python逻辑运算符,在Python中逻辑运算符主要有三个:逻辑与(and)、逻辑或(or)和逻辑非 (not)。逻辑运算符的优先级:not>and>or 。
运算符 | 描述 | 示例 |
---|---|---|
and | 如果两个表达式都为 True,则条件为 True,否则为 False | True and False 返回 False |
or | 如果两个表达式都为 False,则条件为 False,否则为 True | True or False 返回 True |
not | 如果表达式为 True,则条件为 False,否则为 True | not True 返回 False |
-
逻辑与and运算符
逻辑与我们之前学过的电路非常相似,来看一下这里有一个简易的电路图 :有一个电池,一个灯泡,还有两个开关,这在电路中被称之为串联电路,也就是说只有当两个开关同时按下的时候,这个灯泡它才会亮。那么在我们的Python程序中呢?在执行逻辑与时会先判断and符号前面的这个条件,如果前面的条件成立,我们接下来再判断后面的条件,那么如果第1个条件都没有通过,也就是说第1个开关他都没有开启,那么后面的开关我们就不用判断了。因为不管它是否开启了,这个灯泡它都不会亮。
and运算符将两个表达式作为其参数,如果这两个表达式都为True,则返回True,否则返回False。
语法:
a and b
实例
实例1:常用易错and实例
print(0 and 1) #第1个是0,第1个条件就是False了,那么后面的条件就不用判断了
print(1 and 0) #第1个条件是1,他是一个非零的整数,所以他的布尔值是True也就是真,我们会继续判断and后面是0他的布尔值是False,所以最终这个结果应该返回后一个值也就是0
print(1 and 1) #前面的1是True,后面的1也是True,那么最终的结果,他应该返回后面的1
print(1 and 10)
print('' and 'abc')#因为空字符串在布尔值中他是为False,所以第1个值就是假的,后面就不会判断,直接返回第1个值
print('a' and 'abc')#两个值都为真的时候返回后一个值
print(1 and 'abc') #最终结果是返回后一个值
print(1 and 'abc' and '')#返回空字符
print(1 and 'abc' and 0)#这个条件为False,所以最后一个值返回0
print(1 and 0 and 'abc' )#中间0为False,所以返回中间值0
输出结果:
0
0
1
10
abc
abc
0
0
- 逻辑或or运算符
or运算符将两个表达式作为其参数,如果这两个表达式中至少 有一个为True,则返回True,否则返回False。这个逻辑或就相当于电路中的并联电路。来看一下情景1: 当我按下第1个开关,这个灯泡它就亮了。因为电路是导通的。
那情景二:第1个开关没有按,我按第2个开关,此时这个灯泡又亮了,因为电路还是导通的。
这也就是说明,只要有一个条件满足了,这个灯泡它就会亮。在我们的程序中也就是说只要有一个条件满足,程序就会直接返回这个条件的值,而不用去再运行第2个了。如果第1个条件他不满足,那么再去考虑第2个条件,这种情况最终结果是输出后一个条件。 然后我们再看情景3:两个开关都按下,这时候灯泡也肯定是亮的,因为你按下一个它都会亮,按下两个的结果也是相同的,还是原来的判断规则,谁先按下也就是or前面的表达式是哪一个,就先返回前面的值。
语法:
a or b
实例
实例1:常用易错or实例
print(1 or 0) #所以第1个条件满足了,那么就直接输出第1个条件的结果,结果就是1。面的条件根本就没有去考虑,也就没有运行
print(0 or 1) #第1个条件是False不满足,然后判断下一个条件
print(1 or 10 or 100) #结果第1个条件就满足了,直接返回1
print(0 or '' or 100) #前两个都不满足,最后一个条件满足,那么直接返回最后一个条件
输出结果:
1
1
1
100
实例2:判断abc三个值大小
a = 10
b = 5
c = 0
if a < b or b < c:
print("a小于b或者b小于c")
else:
print("不满足条件")
结果:
不满足条件
-
逻辑或not运算符
我们来看一下逻辑非,它用字符not来表示,那么在电路中它是这样的,我这个开关没有按下的时候,灯泡是亮的,我按下的时候 灯泡灭了,也就是说结果取反 。原来是真,结果就是假,原来是假,结果就是真。
.gif)
not运算符将一个表达式作为其参数,如果该表达式为True,则返回False,否则返回True。
语法:
not x
实例
实例1:常用易错not实例
print(not 1)
print(not 0)
print(not '')
输出结果:
False
True
True
实例2:判断abc三个值大小
a = 10
b = 5
c = 0
if not a < b:
print("a不小于b")
else:
print("a小于b")
结果:
a不小于b
4.逻辑运算符综合
现在我们就介绍完了与或非这三个运算符的运算原理,那么他们在程序中是如何使用的呢?我们通过一个例子来学习一下,正在看视频的你,已经或许将来会面对来自丈母娘的灵魂质问。以前的丈母娘会问你两个问题:有房吗?有车吗?只有当这两个条件同时满足的情况下 他才会答应把女儿嫁给你。现在我们就用程序来计算一下,是否能够经受住丈母娘的拷问
实例1:and运算符实例
has_house = True #有房
has_car = True #有 车
if has_house and has_car:
print('yes,you can')
else:
print('you can not')
输出结果
yes,you can
实例2:or算符实例
到了后来通过一段时间的接触,丈母娘觉得你还不错,于是放宽了条件,只要有房或者有车,就可以把女儿嫁给你,我们来看一下这种情形该如何实现
has_house = True
has_car = False
if has_house or has_car:
print('yes,you can')
else:
print('you can not')
输出结果
yes,you can
实例3:not算符实例
到后来丈母娘觉得你是一个潜力股,于是他听信了马云的话,芝麻信用也是可以作为谈恋爱的资本吗!你要和我女儿谈恋爱,给我看看你的信用。 假如说丈母娘的芝麻评分标准是这样的:低级、中级和高级,只要你是高级,就都可以娶我女儿,下面我们就用not 来实验一下 。
# 低级:0 ,中级:1,高级:2
low_level = 0 #0是False
if not low_level: # 取反
print('yes,you can')
else:
print('you can not')
输出结果
yes,you can
作业:
作业一:提示用户输入一个数字,如果该数字大于等于10并且小于等于20,则输出“该数字符合要求”,否则输出“该数字不符合要求”。
作业二:提示用户输入一个数字,如果该数字小于10或者大于20,则输出“该数字不符合要求”,否则输出“该数字符合要求”。
作业三:输入一个年份,如果该年份是闰年,则输出“该年份是闰年”,否则输出“该年份不是闰年”。
作业四:用户输入两个数字,如果这两个数字中至少有一个为0,则输出“不能进行除法运算”,否则输出这两个数字的商。
作业五:用户输入一个用户名和一个密码,如果用户名为“admin”并且密码为“123456”,则输出“登录成功”,否则输出“用户名或密码错误”。
Python位运算符
Python 位运算符函数是一种对二进制数进行操作的函数。它们可以用来以二进制的方式操作整数,包括按位与、按位或、按位异或和按位取反。
运算符 | 描述 | 示例 |
---|---|---|
& | 按位与 | 2 & 3 = 2 |
| | 按位或 | 2 | 3 = 3 |
^ | 按位异或 | 2 ^ 3 = 1 |
~ | 按位取反 | ~2 = -3 |
| >> | 右移 | 2 >> 1 = 1 |
语法:
按位与:a & b
按位或:a | b
按位异或:a ^ b
按位取反:~a
左移 :a << b
右移:a >> b
其中,a和b是需要进行位运算的两个整数。
Python成员运算符
Python成员运算符用于判断一个给定的值是否在一个序列中。Python中的成员运算符包括"in"和"not in"。
运算符 | 描述 | 示例 |
---|---|---|
in | 如果在序列中找到值返回 True,否则返回 False。 | 5 in [1, 2, 3, 4, 5] 返回 True |
not in | 如果在序列中没有找到值返回 True,否则返回 False。 | 6 not in [1, 2, 3, 4, 5] 返回 True |
1.in运算符
in运算符用于判断一个给定的值是否在一个序列中。序列可以是列表、元组、字符串、集合或字典等。
in运算符的语法:
value in sequence
其中,value是要查找的值,sequence是要查找的序列。如果value在sequence中存在,则返回True,否则返回False。
实例
实例1:判断字符是否在字符串中
text = "Hello, World!"
print('Hello' in text)
print('Python' in text)
输出结果:
True
False
实例2:判断元素是否在列表中
name = ['daxiong', 'andy', 'teacher']
print('daxiong' in name)
print('Python' in name)
输出结果:
True
False
实例3:判断字符是否在元组中
numbers = (1, 2, 3, 4, 5)
print(3 in numbers)
print(6 in numbers)
输出结果:
True
False
实例4:判断字符是否在字典中
dic = {'name': 'andy', 'age': 18}
print('name' in dic)
print('gender' in dic)
输出结果:
True
False
实例5:判断字符是否在集合中
s = set([1, 2, 3, 4, 5])
print(3 in s)
print(6 in s)
输出结果:
True
False
2.not in运算符
not in运算符用于判断一个给定的值是否不在一个序列中。not in运算符的语法如下:
value not in sequence
其中,value是要查找的值,sequence是要查找的序列。如果value不在sequence中存在,则返回True,否则返回False。
实例:
实例1:判断字符是否不在字符串中
text = "Hello, World!"
print('Hello' not in text)
print('Python' not in text)
输出结果:
False
True
实例2:断元素是否不在列表中
name = ['daxiong', 'andy', 'teacher']
print('daxiong' not in name)
print('Python' not in name)
输出结果:
False
True
实例3:判断字符是否不在元组中
numbers = (1, 2, 3, 4, 5)
print(3 not in numbers)
print(6 not in numbers)
输出结果:
False
True
实例4:判断字符是否不在字典中
dic = {'name': 'andy', 'age': 18}
print('name' not in dic)
print('gender' not in dic)
输出结果:
False
True
实例5:判断字符是否在集合中
s = set([1, 2, 3, 4, 5])
print(3 not in s)
print(6 not in s)
输出结果:
False
True
Python身份运算符
Python中的身份运算符用于比较两个对象的内存地址是否相同,即它们是否是同一个对象。身份运算符包括is和is not。
运算符 | 描述 | 示例 |
---|---|---|
is | 如果两个变量引用同一个对象则返回 True,否则返回 False。 | x is y |
is not | 如果两个变量引用不同的对象则返回 True,否则返回 False。 | x is not y |
语法:
x is y # 如果x和y引用自同一个对象,则返回True
x is not y # 如果x和y引用自不同的对象,则返回True
其中,x和y可以是任何Python对象。
身份运算符实例:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # 返回True,因为a和b引用同一个列表对象
print(a is c) # 返回False,因为a和c引用不同的列表对象
print(a is not c) # 返回True,因为a和c引用不同的列表对象
Python运算符优先级
本文将详细介绍Python中各种运算符的优先级
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~ + - | 按位翻转、一元加号和减号(最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和地板除 |
+ - | 加法和减法 |
| & | 按位与 | | ^ | | 按位异或和按位或 |
| = %= /= //= -= += *= **= | 赋值运算符 | | is is not | 身份运算符 | | in not in | 成员运算符 | | not or and | 逻辑运算符 |